package com.xiyuan.smartutils.xml;

import org.w3c.dom.Node;

/**
 * Xml解析器接口
 *
 * @version v1.1.2 @author lgz 2017-8-21 新建与整理
 */
public interface XmlParser
{
    /**
     * 设置Xml解析主类
     * 
     * @param xmlMain XML解析主类
     */
    public XmlParser set(Xml xmlMain);
    
    /**
     * 解析对象成XML字符串
     * 
     * @param obj       本字段对象
     * @param tagName   本字段标志
     * @param tagLevel  本字段级别
     * @return          XML字符串
     */
    public String toStringInner(Object obj, String tagName, int tagLevel);
    
    /**
     * 解析XML字符串成对象
     * 
     * @param xml XML字符串
     * @param clazz 对象类结构
     * @return 返回对象
     */
    public Object toObjectInner(Node node, Class<?> clazz, Class<?> generics);
}
